package com.frank.subject.application.convert;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.frank.subject.application.dto.SubjectInfoDto;
import com.frank.common.entity.PageResult;
import com.frank.subject.domain.entity.SubjectInfoBo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * @author Frank Zou
 * @version v0.0.1
 * @date 2024/1/25 10:47 AM
 * @description
 */
@Mapper
public interface SubjectInfoDtoConverter {

    SubjectInfoDtoConverter INSTANCE = Mappers.getMapper(SubjectInfoDtoConverter.class);


    SubjectInfoBo convertDtoToBo(SubjectInfoDto subjectInfoDTO);


    PageResult<SubjectInfoDto> convertBoPageToDtoPageResult(PageResult<SubjectInfoBo> subjectInfoBoPageResult);


    SubjectInfoDto convertBoToDto(SubjectInfoBo subjectInfoBO);


    Page<SubjectInfoDto> convertBoPageToDtoPage(Page<SubjectInfoBo> subjectPage);

    List<SubjectInfoDto> convertBoListToDtoList(List<SubjectInfoBo> boList);
}
